<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Itpro.Config</name>
    </assembly>
    <members>
        <member name="T:Itpro.Config.AutoConfigIgnoreAttribute">
            <summary>
              Signals to the AutoConfig class that this auto-property should be ignored by the value retrieval mechanism.
            </summary>
        </member>
        <member name="M:Itpro.Config.ExtensionMethods.Clip(System.String,System.String)">
            <summary>
              Removes a target string from the start of a source string.
            </summary>
            <param name="s"> The source string. </param>
            <param name="target"> The target string to remove. </param>
            <returns> A new string that doesn't start with the target string. </returns>
        </member>
        <member name="M:Itpro.Config.ExtensionMethods.FormatWith(System.String,System.Object[])">
            <summary>
              Shortcut syntax for using String.Format.
            </summary>
            <param name="format"> A composite format string. </param>
            <param name="args"> An object array that contains zero or more objects to format. </param>
            <returns> A copy of <paramref name="format"/> in which the format items have been replaced by the string representation of the corresponding objects in <paramref name="args"/> . </returns>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:Itpro.Config.ExtensionMethods.FormatWith(System.String,System.IFormatProvider,System.Object[])">
            <summary>
              Shortcut syntax for using string.Format.
            </summary>
            <remarks>
              Throwing an <see cref="T:System.ArgumentNullException"/> <see langword="null"/> format == null is redundant.
            </remarks>
            <param name="format"> A composite format string. </param>
            <param name="provider"> An object that supplies culture-specific formatting information. </param>
            <param name="args"> An object array that contains zero or more objects to format. </param>
            <returns> A copy of <paramref name="format"/> in which the format items have been replaced by the string representation of the corresponding objects in <paramref name="args"/> . </returns>
            <exception cref="T:System.ArgumentNullException"></exception>
            <exception cref="T:System.FormatException"></exception>
        </member>
        <member name="M:Itpro.Config.ExtensionMethods.HasValue(System.String)">
            <summary>
              Emulates <see cref="T:System.Nullable"/> &lt;T&gt;.HasValue for String, since String is already nullable. Equivalent to !String.IsNullOrEmpty().
            </summary>
            <param name="s"> The string to test. </param>
            <returns> <c>true</c> if the value parameter is <see langword="null"/> or an empty string (""); otherwise, <c>false</c> . </returns>
        </member>
        <member name="T:Itpro.Config.AutoConfigKeyAttribute">
            <summary>
              Provides a replacement key to AutoConfig instead of the property name.
            </summary>
        </member>
        <member name="M:Itpro.Config.AutoConfigKeyAttribute.#ctor(System.String)">
            <summary>
              Initializes a new instance of <see cref="T:Itpro.Config.AutoConfigKeyAttribute"/> .
            </summary>
            <param name="key"> A string that specifies the configuration key associated with the decorated property. </param>
        </member>
        <member name="P:Itpro.Config.AutoConfigKeyAttribute.Key">
            <summary>
              The configuration key to the value that should be loaded into the decorated property.
            </summary>
        </member>
        <member name="T:Itpro.Config.AutoConfigSectionAttribute">
            <summary>
              Declares to AutoConfig that the decorated class should read from the specified ConfigSection instead of the default of Namespace.
            </summary>
            <remarks>
              Use &lt;GroupName>/&lt;SectionName> to load a ConfigurationSection from a ConfigurationSectionGroup.
            </remarks>
        </member>
        <member name="M:Itpro.Config.AutoConfigSectionAttribute.#ctor(System.String)">
            <summary>
              Initializes a new instance of <see cref="T:Itpro.Config.AutoConfigSectionAttribute"/> .
            </summary>
            <param name="name"> A string that specifies the configuration section associated with the decorated class. </param>
        </member>
        <member name="P:Itpro.Config.AutoConfigSectionAttribute.Name">
            <summary>
              The name of the configuration section that should be loaded into the decorated property.
            </summary>
        </member>
        <member name="T:Itpro.Config.AutoConfigDefaultAttribute">
            <summary>
              Specifies the default value for a property that will be used if no value can be found in the application settings by AutoConfig.
            </summary>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Type,System.String)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class, converting the specified value to the specified type, and using an invariant culture as the translation context.
            </summary>
            <param name="type"> A <see cref="T:System.Type"/> that represents the type to convert the value to. </param>
            <param name="value"> A <see cref="T:System.String"/> that can be converted to the type using the <see cref="T:System.ComponentModel.TypeConverter"/> for the type and the U.S. English culture. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Char)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a Unicode character.
            </summary>
            <param name="value"> A Unicode character that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Byte)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using an 8-bit unsigned integer.
            </summary>
            <param name="value"> An 8-bit unsigned integer that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Int16)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a 16-bit signed integer.
            </summary>
            <param name="value"> A 16-bit signed integer that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Int32)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a 32-bit signed integer.
            </summary>
            <param name="value"> A 32-bit signed integer that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Int64)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a 64-bit signed integer.
            </summary>
            <param name="value"> A 64-bit signed integer that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Single)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a single-precision floating point number.
            </summary>
            <param name="value"> A single-precision floating point number that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Double)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a double-precision floating point number.
            </summary>
            <param name="value"> A double-precision floating point number that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Boolean)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a <see cref="T:System.Boolean"/> value.
            </summary>
            <param name="value"> A <see cref="T:System.Boolean"/> that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.String)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class using a <see cref="T:System.String"/> .
            </summary>
            <param name="value"> A <see cref="T:System.String"/> that is the default value. </param>
        </member>
        <member name="M:Itpro.Config.AutoConfigDefaultAttribute.#ctor(System.Object)">
            <summary>
              Initializes a new instance of the AutoConfigDefaultAttribute class.
            </summary>
            <param name="value"> An <see cref="T:System.Object"/> that represents the default value. </param>
        </member>
        <member name="T:Itpro.Config.AutoConfigSectionPropertyAttribute">
            <summary>
              Declares to AutoConfig that a ConfigSection should be loaded as a <see cref="T:System.Collections.Specialized.NameValueCollection"/> into the decorated property.
            </summary>
        </member>
        <member name="M:Itpro.Config.AutoConfigSectionPropertyAttribute.#ctor(System.String)">
            <summary>
              Initializes a new instance of <see cref="T:Itpro.Config.AutoConfigSectionPropertyAttribute"/> .
            </summary>
            <param name="name"> A string that specifies the configuration section associated with the decorated property. </param>
        </member>
        <member name="P:Itpro.Config.AutoConfigSectionPropertyAttribute.Name">
            <summary>
              The name of the configuration section that should be loaded into the decorated property.
            </summary>
        </member>
        <member name="T:Itpro.Config.AutoConfig`1">
            <summary>
              Automates the process of typing config values back to strong-typed accessors. Also enforces configuration value naming guidelines of "Fully.Qualified.Namespace.IndividualValue" The tricky part is that the base class takes the inheritor as a generic argument to enable reflection.
            </summary>
            <example>
              <![CDATA[
             An implementation of this class looks like this:
             	public class Config : AutoConfig<Config>
             	{
             		static Config() { Init(); } // this is critical
             
            			[AutoConfigDefault(4096)]
            			public static Int32 IndividualValue { get; private set; }
             
            			public static Int32 ValueWithNoDefault { get; private set; }
            			
            			public static Int32 UpdateableValueWithNoDefault { get; set; }
             
            			[AutoConfigIgnore]
            			public static String ManuallyConfiguredProperty { get; set; } 	
                  }
             
             Implementors of this AutoConfig class expect the following in the config file:
            
             	<configSections>
             		<section name="Fully.Qualified.Namespace" type="System.Configuration.NameValueSectionHandler" />
             	</configSections>
             	<Fully.Qualified.Namespace>
             		<add key="IndividualValue" value="8096" />
             	</Fully.Qualified.Namespace>
             
             This will also work, and these values override the section if both are provided:
             
             	<add key="Fully.Qualified.Namespace.IndividualValue" value="65535" />
             
             ]]>
            </example>
        </member>
        <member name="M:Itpro.Config.AutoConfig`1.GetConfigSection(System.String)">
            <summary>
              Gets the configuration section with a name matching the current namespace.
            </summary>
        </member>
        <member name="M:Itpro.Config.AutoConfig`1.Init">
            <summary>
              Uses reflection to find properties on inheriting class and populate with matching config values.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException">
              <c>ConfigurationErrorsException</c>
              .</exception>
        </member>
        <member name="M:Itpro.Config.AutoConfig`1.GetString(System.String,System.String)">
            <summary>
              Gets the specified key from the configuration provider, either fully-qualified in <c>appSettings</c> or called out in the configuration section.
            </summary>
            <param name="key"> The configuration key to retrieve. Either "Fully.Qualified.Namespace.Key" or "Key". </param>
            <param name="defaultValue"> The default value to use if the configuration value is not found. </param>
            <returns> The value from configuration, or <paramref name="defaultValue"/> if not found. </returns>
            <exception cref="T:System.Configuration.ConfigurationErrorsException">Thrown when no configuration value is found, and no default value is provided.</exception>
        </member>
        <member name="P:Itpro.Config.AutoConfig`1.Ns">
            <summary>
              Gets the namespace of the calling class.
            </summary>
        </member>
        <member name="P:Itpro.Config.AutoConfig`1.ConfigSection">
            <summary>
              Gets the configuration section with a name matching the current namespace.
            </summary>
        </member>
    </members>
</doc>
